package com.vhall.component.controller.sign.facade;


import com.vhall.component.entity.sign.vo.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

/**
 * @author shenqing
 * @date 2021/4/22 19:40
 */
@FeignClient(value = "SignFacade", path = "/v4/sign")
public interface SignFacade {

    /**
     * 发起签到
     *
     * @param reqVO
     * @return
     */
    @PostMapping("/add")
    SignDTO add(@Validated SignAddToVpsReqVO reqVO);

    /**
     * 用户签到
     *
     * @param reqVO
     * @return
     */
    @PostMapping("/in")
    SignRecordDTO in(@Validated SignInToVpsReqVO reqVO);

    /**
     * 获取签到记录列表
     *
     * @param reqVO
     * @return
     */
    @GetMapping("/records-get")
    SignRecordGetsRspVO recordsGet(@Validated SignRecordsToVpsReqVO reqVO);

    /**
     * 获取发送的签到列表
     *
     * @param reqVO
     * @return
     */
    @GetMapping("/gets")
    SignGetsRspVO gets(@Validated SignGetToVpsReqVO reqVO);
}
